Many companies employ contact centers, such as call centers, to provide an interface for exchanging information with customers. In many call center environments, a customer service representative initially queries a caller for information, such as an account number, credit card number, or the nature of the inquiry. The customer service representative may be a real person or a virtual agent that typically routes the call to the appropriate destination after collecting initial information.
For example, many call centers employ interactive voice response (IVR) systems, such as the CONVERSANT® System for Interactive Voice Response, commercially available from Avaya Inc., that provide callers with information in the form of recorded messages and to obtain information from callers using keypad or voice responses to recorded queries Ports on the IVR systems are often referred to as “automated agents” or “virtual agents.” Typically, a media server receives a call, obtains the appropriate Voice eXtensible Markup Language (VoiceXML) page (i.e, a script for the call) from a server and then executes the VoiceXML page for the caller.
Increasingly, customers are choosing alternate forms of contact into a business, such as a web-based contact over the Internet or another Internet Protocol (IP) network. For example, many customers call a contact center over the Internet using Voice Over IP (VoIP) communications. The form of contact selected by a customer, however, may impact the functionality that is available to the customer or the manner in which the communication is processed by the call center. A caller can place their telephone on hold while interacting with a voice dialog on an IVR system. With a traditional Plain Old Telephone Systems (POTS) type connection, for example, the telephone of the far end party does not receive any specific signaling when the near end party places the call on hold. Thus, when the far end is an IVR systems the IVR system has no way to know that the call has been placed on hold. Thus, following an “on hold” condition, the IVR system will continue processing the call as if the caller were still actively participating. The dialog may fail because the caller stops providing input and eventually the dialog could time-out or otherwise hang up. In addition, even if the caller returns to the IVR system prior to the call being dropped, the caller may not know what state the dialog is in because the caller has not heard the prompt and may not be able to continue.
VoIP protocols have changed the manner in which an “on hold” condition is processed. For VoIP protocols, such as the Session Initiation Protocol (SIP), the “on-hold” function can result in a renegotiation of the media for the call Typically, the party placing the call “on-hold” will re-INVITE the far end party with a session description protocol that disables the media streams. Optionally, the party placing the call “on-hold” could renegotiate a stream to a Real Time Streaming Protocol (RTSP) server that will play music-on-hold to the far end party. In any event, the far end party receives a positive indication of the call being placed “on-hold”
A need therefore exists for improved methods and apparatus for processing “on hold” commands in a call center.